Accessing a serial number of a removable non-volatile memory device

ABSTRACT

A removable non-volatile memory device durably stores a serial number or identifier, which is used to mark multimedia content legally stored on the removable non-volatile memory device. In order to retrieve the serial number, a host electronic system coupled to the removable non-volatile memory device sends a sequence of multiple file access commands to access a predefined target file stored on the removable non-volatile memory device. In accordance with the executed predefined sequence of multiple file access commands, a corresponding sequence of data access commands are received at the removable non-volatile memory device and are interpreted as a request by the host electronic device to read the serial number. The removable non-volatile memory device outputs the serial number in response to the sequence of data access commands.

RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent ApplicationNo. 61/221,029, filed Jun. 26, 2009, entitled “Accessing a Serial Numberof a Removable Non-Volatile Memory Device,” which is incorporated hereinby reference in its entirety.

TECHNICAL FIELD

The disclosed embodiments relate generally to removable non-volatilememory devices, and in particular to accessing a serial number assignedto a removable non-volatile memory device.

BACKGROUND

Multimedia memory cards (MMCs) and other storage card formats are wellknown today as a means of providing external memory capacity for storinginformation of interest to a user. Such cards are typically used inportable devices such as cellular phones, personal digital assistants(PDA), digital cameras, etc. to store data and can be connected to ageneral purpose personal computer to transfer data therebetween.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the aforementioned aspects of theinvention as well as additional aspects and embodiments thereof,reference should be made to the Description of Embodiments below, inconjunction with the following drawings in which like reference numeralsrefer to corresponding parts throughout the figures. Optional operationsor components are indicated by dashed lines in the figures.

FIG. 1 is a block diagram illustrating an example of a multimediastorage and access system in accordance with one embodiment.

FIG. 2 is a block diagram illustrating an example of contents of anon-volatile memory of a removable non-volatile memory device.

FIG. 3 is a flow diagram of a process for accessing multimedia contentstored a non-volatile memory of a removable non-volatile memory devicein accordance with one embodiment.

FIG. 4 is a block diagram illustrating an embodiment of a memorycontroller of a removable non-volatile memory device.

FIG. 5 is a block diagram illustrating an embodiment of a hostelectronic system that accesses multimedia content stored a non-volatilememory of a removable non-volatile memory device.

DESCRIPTION OF EMBODIMENTS

Methods and systems for accessing multimedia content stored anon-volatile memory of a removable non-volatile memory device aredescribed. Reference will be made to certain embodiments of theinvention, examples of which are illustrated in the accompanyingdrawings. While the invention will be described in conjunction with theembodiments, it will be understood that it is not intended to limit theinvention to these particular embodiments alone. On the contrary, theinvention is intended to cover alternatives, modifications andequivalents that are within the spirit and scope of the invention asdefined by the appended claims.

Moreover, in the following description, numerous specific details areset forth to provide a thorough understanding of the present invention.However, it will be apparent to one of ordinary skill in the art thatthe invention may be practiced without these particular details. Inother instances, methods, procedures, components, and networks that arewell-known to those of ordinary skill in the art are not described indetail to avoid obscuring aspects of the present invention.

The embodiments described below concern devices, systems and methods inwhich multimedia content stored on a memory card is “protected” usingthe manufacturer assigned serial number. For example, in theseembodiments one or more aspects of the multimedia content are arrangedto prevent decoding or playing of the multimedia content if themultimedia content is copied to another device having a different serialnumber or if the multimedia content is copied to another type of devicealtogether (e.g., the disk drive or other non-volatile storage of a hostdevice). In some embodiments, the multimedia content is protected byencrypting or encoding it using a key or methodology that depends on theserial number of the memory device. In other embodiments, anotherprotection scheme is used, such as storing the serial number in theheader of a file that contains the multimedia content, and encoding themultimedia content so that only a proprietary player can play themultimedia content or only a proprietary decoder can decode themultimedia content. In these embodiments, the proprietary player ordecoder is configured to determine whether the serial number in the fileheader of the multimedia content file is consistent with the serialnumber of the memory card, and enables the multimedia content to beplayed or decoded only when the two are consistent.

In all of these embodiments, a host device needs to be able to retrievethe memory card's serial number or identifier. However, in some hostdevices, such as host devices using a multimedia player that isimplemented in Java, the ordinary ways of retrieving memory card'sserial number or identifier do not work (e.g., due to securityrestrictions imposed by the Java virtual machine). The embodimentsdescribed below provide devices, systems and methods that overcome thisproblem, and enable virtually all host devices to retrieve the memorycard's serial number or identifier.

FIG. 1 is a block diagram illustrating an example of a multimediacontent storage and retrieval system 100 according to one embodiment.FIG. 1 shows various functional components that will be referred to inthe detailed discussion that follows. This system 100 includes aremovable non-volatile memory storage device 10 and a host electronicsystem 12. The removable non-volatile memory storage device 10 and thehost electronic system 12 include physical interfaces 30 and 32respectively for removably interconnecting the removable non-volatilememory storage device 10 and the host electronic system 12.

The removable non-volatile memory storage device 10, such as a flashmemory card, is a mass storage device. It includes non-volatile memory40, such as, flash memory. In some embodiments, the non-volatile memory40 includes one or more nonvolatile memory chips that can be programmedby a user. Once programmed, the storage memory retains its data untilover-written or erased. Contents of the one or more non-volatile memorydevices 40 are discussed with reference to FIG. 2.

According to some embodiments, the removable non-volatile memory storagedevice 10 also durably stores a manufacturer assigned serial number 60,for instance, in a register 50. The manufacturer assigned serial number60 may include a sequence of alpha-numeric characters that identify theremovable non-volatile memory storage device 10. The manufacturerassigned serial number 60 is sometimes called an identifier. In someembodiments, instead of or in addition to storing the serial number 60in register 50, the manufacturer assigned serial number 60 may be storedin the one or more non-volatile memory devices 40. In most embodiments,the serial number 60 cannot be over-written or erased. Further, in someembodiments, the serial number 60 is unique to the removablenon-volatile memory storage device 10. In other embodiments, however,the manufacturer of the removable non-volatile memory storage device 10may reuse serial numbers when manufacturing large numbers of removablenon-volatile memory storage devices (e.g., thousands of removablenon-volatile memory storage devices), such that the manufacturerassigned serial number 60 is relatively unique to the removablenon-volatile memory storage device 10.

The removable non-volatile memory storage device 10 also includes amemory controller 20, which communicates with the host electronic systemvia the physical interface 30 to access the non-volatile memory 40. Thememory controller 20 is discussed further with reference to FIG. 4. Insome embodiments, the removable non-volatile memory storage device 10optionally includes a wireless connection 35 for wirelesslycommunicating with one or more networks, such as the Internet.

Host electronic system 12 can be any of a number of devices (e.g., aninternet kiosk, personal digital assistant, cell phone, gaming device,desktop computer, or laptop computer) used to enable the activitiesdescribed below. Host electronic system 12 may also include audio and/orvideo inputs (e.g., a microphone and a video camera), audio output(e.g., speakers or headphones), and video output (e.g., a display) (notshown). The host electronic system 12 is further discussed withreference to FIG. 5.

FIG. 2 illustrates contents of the non-volatile memory 40, according tosome embodiments. The non-volatile memory 40 stores one or moremultimedia content files 200 a-n, such as one or more audio files, videofiles, audio-video files, etc. Prior to being loaded into non-volatilememory 40, multimedia content files 200 a-n may be encoded and/orencrypted according to an appropriate scheme or schemes. For ease ofdiscussion, the following description will assume that both encryptionand encoding are applied to a given multimedia file, althoughembodiments of the present invention contemplate application of only oneof encoding or encryption, as appropriate.

A multimedia content file 200 includes multimedia content 215 (such as,audio content, video content, audio-video content, etc) and header 205.In some embodiments, in order to ensure that unauthorized copies of themultimedia content file 200 cannot be played or decoded, a securityvalue 65 is included in the header 205 of the multimedia file 200. Inthe embodiments described here, if the multimedia content file 200 is anauthorized copy of the file, the security value 65 in the header 205 isa copy of the manufacturer assigned serial number (or identifier) 60 ofthe particular removable non-volatile memory storage device (on whichthe multimedia content file 200 can be stored with authorization). Inother embodiments, if the multimedia content file 200 is an authorizedcopy of the file, the security value 65 corresponds to the serial number(or identifier) of the non-volatile memory storage device 40. Forexample, the security value 65 can be a value that is a predefinedfunction of the serial number (or identifier), such as the valueproduced by applying a hash function to the serial number or a valuecorresponding to the serial number (e.g., a predefined portion of theserial number, the serial number appended to a fixed value, etc.).

The header 205 may include other metadata, such as, author of multimediacontent 215, time of storage of the multimedia content file 200 on theremovable non-volatile memory storage device 40, and so on. In someembodiments, the multimedia file 200 comprises multimedia content 215that has been encrypted using a key equal to or otherwise based on thesecurity value 65.

The non-volatile memory 40 also stores a predefined target file 240having a predefined file name and a predefined storage location. In someembodiments, the predefined target file 240 is a dummy file, andcontains no content. The predefined target file 240 is used to enablethe host electronic system 12 to read the manufacturer assigned serialnumber 60, as discussed further with reference to FIG. 3.

The non-volatile memory 40 also stores a file directory 220 thatincludes multiple entries 225 for files stored on the non-volatilememory 40. Each entry 225 of the file directory 220 corresponds to arespective file stored on the non-volatile memory 40. In someembodiments, a respective entry 225 includes multiple fields, each ofwhich stores the value of an attribute (e.g., name, name extension,size, file storage location in memory 40) of a respective file. The filedirectory 220 includes entries 225 a-n for all of the multimedia contentfiles 200 a-n stored on the non-volatile memory 40. The file directory220 also includes an entry 230 for the target file 240. This entryincludes a field 235 that specifies the storage location of the targetfile 240 on the non-volatile memory 40.

The non-volatile memory 40 also stores one or more multimedia players250 a-n. The multimedia players 250 a-n include a plurality of playersthat are compatible with respective different types of host electronicsystems with which the removable non-volatile memory storage device 10may couple, and/or are compatible with respective different operatingsystems employable by a host electronic system. For instance, multimediaplayer 250 a may be compatible with a host electronic system that runs aJava® operating system, while multimedia player 250 b may be compatiblewith a host electronic system that runs a Windows® operating system, andso on. Accordingly, in some embodiments, the non-volatile memory 40stores multiple multimedia players 250 that are compatible with manydifferent commercially available host electronic systems, enabling theremovable non-volatile memory storage device 10 to cooperate with a widevariety of devices equipped to present visual and/or auditoryinformation.

In some embodiments, upon coupling of the removable non-volatile memorystorage device 10 with a host electronic system 12, one of themultimedia players 250 a-n is automatically executed by the hostelectronic system 12. For example, this may happen due to the automaticexecution of an autoexec or autoload program (not shown) stored on theremovable non-volatile memory storage device 10. Execution of themultimedia player includes execution of a content access module 260 bythe host electronic system 12. The content access module 260 includes atarget file location retrieval module 262 to access file directory 220(e.g., by copying at least a portion of the file directory 220) andretrieve the storage location 235 of the predefined target file 240. Thecontent access module 260 includes a serial number read module 265 foraccessing the serial number of removable non-volatile memory storagedevice 10 by the host electronic system 12. The serial number readmodule 265 includes a predefined sequence of file access commands 270that are executed by the host electronic system 12. The content accessmodule 260 is described further with reference to FIG. 3.

Each of the multimedia players 250 a-n may also include a decoder 275for decoding multimedia content, decryption software 280 for decryptingmultimedia content, and a content player 285 for rendering themultimedia content. In some embodiments, each of the multimedia players250 a-n includes respective different versions of the same contentdecoder software 275 (e.g., multimedia player 250 a includes a differentversion of decoder software 275 than multimedia player 250 b). In someembodiments, each of the multimedia players 250 a-n includes respectivedifferent versions of the same content decryption software 280 (e.g.,multimedia player 250 a includes a different version of decryptionsoftware 280 than multimedia player 250 b). Similarly, in someembodiments, each of the multimedia players 250 a-n includes respectivedifferent versions of the same content player 285 (e.g., multimediaplayer 250 a includes a different version of content player 285 thanmultimedia player 250 b).

FIG. 3 is a flow diagram of a process 300 for accessing multimediacontent stored within a non-volatile memory 40 of a removablenon-volatile memory device 10 by a host electronic system 12 inaccordance with one embodiment. Optional operations are indicated bydashed lines.

Prior to coupling the removable non-volatile memory device 10 to thehost electronic system 12, the removable non-volatile memory device 10stores the following: one or more multimedia content files 200, and amanufacturer assigned serial number 60 or identifier (310). As discussedwith reference to FIG. 2, the one or more multimedia content files 200are stored in non-volatile memory 40, and serial number 60 is typicallydurably stored in a register 50. The non-volatile memory 40 of theremovable non-volatile memory device 10 also stores a file directory 220that includes an entry 235 specifying a predefined storage location innon-volatile memory 40 for the predefined target file 240 (312).

Upon coupling of the removable non-volatile memory device 10 to the hostelectronic system 12 (330), for instance, using interfaces 30 and 32respectively, the removable non-volatile memory device 10 and the hostelectronic system 12 communicate so that the removable non-volatilememory device 10 provides a copy of at least portions of the filedirectory 220 (320) to the host electronic system 12. In addition, insome embodiments, a respective multimedia content player (e.g., 250 b)is launched (i.e., automatically executed) by the host electronic system12. In some embodiments, the host electronic system 12 executes aprocedure (not shown) to determine which of the multimedia contentplayers 250 a-n is compatible with the host electronic system 12 (orcompatible with its operating system), and then executes the identifiedmultimedia content players 250. In some embodiments, the host electronicsystem 12 may identify a multimedia content player already present onthe host electronic system 12, and execute that multimedia contentplayer. Alternatively, the host electronic system 12 may provideinformation such as the type of its operating system to the removablenon-volatile memory device 10, so that the removable non-volatile memorydevice 10 may determine which of the multimedia content players 250 a-nto provide to the host electronic system 12.

The host electronic system 12 receives the copy of at least portions ofthe file directory 220 and a respective multimedia content player 250from the removable non-volatile memory device 10 (330).

The host electronic system 12 receives a command to access multimediacontent of a first multimedia content file stored on the removablenon-volatile memory device (340). The command may be a user command toaccess the multimedia content file, for instance, in response to thehost electronic system 12 displaying a listing of the multimedia contentfiles available on the removable non-volatile memory device 10.Alternatively, the command may issue from an auto-load program.

The host electronic system 12 executes a predefined sequence of multiplefile access commands 270 (FIG. 2), for instance, by executing contentaccess module 260 (350). In some embodiments, the host electronic system12 executes the content access module 260. The target file retrievalmodule 262 of the content access module 260 accesses the file directory102 (at least portions of which have been copied over from the removablenon-volatile memory storage device 10) to retrieve the storage location235 of the predefined target file 240. The serial number read module 265of the content access module 260 includes a predefined sequence of fileaccess commands 270 to access the predefined storage location 235 of thepredefined target file 240. In some embodiments, the predefined sequenceof file access commands 270 includes several (e.g., three) repeated fileaccess commands which contain illegal parameters that are sent to theremovable non-volatile memory device 10 in sequence over a short periodof time. In accordance with the executed predefined sequence of multiplefile access commands, the host electronic system 12 sends acorresponding sequence of data access commands to the removablenon-volatile memory device 10 (350).

The removable non-volatile memory device 10 interprets the predefinedsequence of multiple data access commands (to access the predefinedtarget file) as a request by the host electronic device 12 to read thestored serial number 60 (360). In some embodiments, the predefinedsequence of multiple data access commands is stored by the memorycontroller 20. After the last one of the multiple data access commandsis received, a trigger function (discussed further with reference toFIG. 4) is triggered. The trigger function is executed by the memorycontroller 20 to activate a serial number access program (discussedfurther with reference to FIG. 4) in response to the predefined sequenceof multiple data access commands received from the host electronicsystem 12.

The removable non-volatile memory device 10 provides a copy of thestored serial number 60 to the host electronic system 12 (370). In someembodiments, the serial number access program (triggered by the triggerfunction) is executed by the memory controller 20 to access the storedserial number 60 and provide a copy of the serial number 60 to the hostelectronic system 12. In some embodiments, the copy of the serial number60 is placed by the memory controller 20 in an output register of thephysical interface 30 of the removable non-volatile memory device 10 foraccess by the host electronic system 12.

The host electronic system 12 receives a copy of the serial number 60that is durably stored in the removable non-volatile memory device 10(380).

In some embodiments, the host electronic system 12 accesses themultimedia content 215 of a multimedia content file 200 (e.g., selectedby a user) only when the received serial number 60 is consistent with(e.g., matches) the security value 65 associated with the multimediacontent file 200 (390). In some embodiments, the host electronic system12 accesses the header 205 of the multimedia content file 200, andcompares the received serial number 60 to a security value 65 includedin the header 205 of the multimedia content file 200. The hostelectronic system 12 accesses multimedia content 215 of the multimediacontent file 200 only if there is a match between the serial number 60received from the removable non-volatile memory device 10 and thesecurity value 65 included in the header 205 of the first multimediacontent file 200. A lack of match may indicate that the multimediacontent file 200 may have been intended for storage on a differentremovable non-volatile memory device, and may have been illegally storedon the removable non-volatile memory device 10 with which the hostelectronic system 12 is coupled.

Each of the operations shown in FIG. 3 may correspond to instructionsstored in a computer memory or computer readable storage medium. Thecomputer readable storage medium may include a magnetic or optical diskstorage device, solid state storage devices such as Flash memory, orother non-volatile memory device or devices. The computer readableinstructions stored on the computer readable storage medium are insource code, assembly language code, object code, or other instructionformat that is interpreted by one or more processors.

FIG. 4 is a block diagram illustrating an embodiment of the memorycontroller 20 of the removable non-volatile memory device 10 (FIG. 1).The memory controller 20 typically includes one or more processing units(CPU's) 402 for executing modules, programs and/or instructions storedin memory 410 and thereby performing processing operations; one or morenetwork or other communications interfaces 406 for communicating withthe host electronic system 406 (e.g., via the physical interface 30 orvia the optional wireless interface 35 shown in FIG. 1); one or morenetwork or other communications interfaces 408 for communicating withthe non-volatile memory 40; memory 410; and one or more communicationbuses 412 for interconnecting these components. The communication buses412 may include circuitry (sometimes called a chipset) thatinterconnects and controls communications between system components. Thememory controller 20 optionally includes (but typically does notinclude) a user interface having a display device and a keyboard.

Memory 410 includes high-speed random access memory, such as DRAM, SRAM,DDR RAM or other random access solid state memory devices; and mayinclude non-volatile memory, such as one or more magnetic disk storagedevices, optical disk storage devices, flash memory devices, or othernon-volatile solid state storage devices. Memory 410 may optionallyinclude one or more storage devices remotely located from the CPU(s)402. Memory 410, or alternately the non-volatile memory device(s) withinmemory 410, comprises a computer readable storage medium. In someembodiments, memory 410 or the computer readable storage medium ofmemory 410 stores the following programs, modules and data structures,or a subset thereof:

-   -   an operating system 414 that includes procedures for handling        various basic system services and for performing hardware        dependent tasks; in some embodiments, however, the memory        controller 20 does not include an operating system 414;    -   a communications module 416 that includes one or more procedures        for managing communications between the memory controller 20 and        a host electronic system via the host communications interface        406 and physical interface 30 (FIG. 1) or other host        communications interface (e.g., wireless interface 35);    -   a data access function module 418 that includes data access        functions, such as read function 420, write function 422, and        erase function 424 that can be performed on multimedia content        215 stored in the multimedia content files 200;    -   a trigger function 426, responsive to a predefined sequence of        multiple data access commands received from the host electronic        system to activate the serial number access program; and    -   a serial number access program 428, for accessing the stored        serial number or identifier (e.g., stored in a register 50 of        the removable non-volatile memory device 10) and providing the        serial number to the host electronic system.

Each of the above identified elements may be stored in one or more ofthe previously mentioned memory devices, and corresponds to a set ofinstructions. The programs or modules, when executed by the one or moreprocessors of the host electronic system, perform the functions oroperations described above. for performing a function described above.The above identified modules or programs (i.e., sets of instructions)need not be implemented as separate software programs, procedures ormodules, and thus various subsets of these modules may be combined orotherwise re-arranged in various embodiments. The above identifiedmodules may be implemented using software, hardware, firmware, statemachines, or combinations thereof. In some embodiments, memory 410 maystore a subset of the modules and data structures identified above.Furthermore, memory 410 may store additional modules and data structuresnot described above.

Although FIG. 4 shows a memory controller 20, FIG. 4 is intended more asfunctional description of the various features than as a structuralschematic of the embodiments described herein. In practice, and asrecognized by those of ordinary skill in the art, items shown separatelycould be combined and some items could be separated.

FIG. 5 is a block diagram of a host electronic system 12, according tocertain embodiments. The host electronic system 12 includes one or moreprocessing units (CPU's) 502, one or more network or othercommunications interfaces 504, a communication interface 508 forcommunicating with an external removable non-volatile memory storagedevice 10, memory 510, and one or more communication buses 512 forinterconnecting these components. The communication buses 512 mayinclude circuitry (sometimes called a chipset) that interconnects andcontrols communications between system components. The host electronicsystem 12 typically includes a user interface 506. In some embodiments,the user interface includes a display device, a keyboard and a pointerdevice, while in other embodiments (e.g., a cell phone or personaldigital assistant) the user interface includes a touch screen display.

Memory 510 includes high-speed random access memory, such as DRAM, SRAM,DDR RAM or other random access solid state memory devices; and mayinclude non-volatile memory, such as one or more magnetic disk storagedevices, optical disk storage devices, flash memory devices, or othernon-volatile solid state storage devices. Memory 510 may optionallyinclude one or more storage devices remotely located from the CPU(s)502. Memory 510, or alternately the non-volatile memory device(s) withinmemory 510, includes a computer readable storage medium. In someembodiments, memory 510 or the computer readable storage medium ofmemory 510 stores the following programs, modules and data structures,or a subset thereof:

-   -   an operating system 514 that includes procedures for handling        various basic system services and for performing hardware        dependent tasks;    -   a network communications module 516 that is used for connecting        the host electronic system 12 to other computers via the one or        more communication network interfaces 504 and one or more        communication networks, such as the Internet, other wide area        networks, local area networks, metropolitan area networks, and        so on;    -   a file system module 518 for managing data files stored in the        host electronic system 12;    -   a copy of a multimedia content player 250, which may be        automatically launched by the host electronic system 12 when the        removable non-volatile memory storage device 12 is coupled to        the host electronic system 12; additional details of an        exemplary multimedia content player 250 are described above with        reference to FIG. 2;    -   a copy of at least portions of the file directory 220 of the        removable non-volatile memory storage device 12;    -   at least portions 540 of at least one of the multimedia content        files 200; and    -   optionally other applications, such as a browser application,        for execution by the host electronic system 12.

Each of the identified programs or modules corresponds to a set ofinstructions. These programs or modules, when executed by the one ormore processors of the host electronic system, perform the functions oroperations described above. The above identified modules or programs(i.e., sets of instructions) need not be implemented as separatesoftware programs, procedures or modules, and thus various subsets ofthese modules may be combined or otherwise re-arranged in variousembodiments. In some embodiments, memory 510 may store a subset of themodules and data structures identified above. Furthermore, memory 510may store additional modules and data structures not described above.

Although FIG. 5 shows a host electronic system 12, FIG. 5 is intendedmore as functional description of the various features than as astructural schematic of the embodiments described herein. In practice,and as recognized by those of ordinary skill in the art, items shownseparately could be combined and some items could be separated.

In some alternate embodiments, the value returned to the host system bythe serial number access program (e.g., serial number read module 265)is a device signature or validation value, instead of, or in additionto, the serial number of the device. The device signature or validationvalue is related to the serial number by a predefined function (e.g., bya hash function, encryption function, or the like), but is nonethelessnot the same as the serial number. In some embodiments, the validationvalue is generated by the removable non-volatile memory device bycombining the serial number with one or more values provided by the hostsystem (e.g., the file identifier of a file stored in the removablenon-volatile memory device, obtained from a file directory in thedevice) to produce a combined value, and then applying a predefinedfunction (e.g., a hash function, encryption function, or the like) tothe combined value to produce the validation value. In yet anotheralternative, the device signature is independent of the device's serialnumber.

Furthermore, in some embodiments, the removable non-volatile memorydevice stores the device signature, for use in validating the removablenon-volatile memory device, in addition to the serial number.

Similarly, in some alternative embodiments the security value (65, FIG.2) stored in the header of a multimedia content file is not the serialnumber, but instead is a validation value that is related to the serialnumber (or the device signature) by a predefined function (e.g., by ahash function, encryption function, or the like). In one example, thesecurity value is obtained by combining the serial number with the fileidentifier of the multimedia content file to produce a combinationvalue, applying (for example) two hash functions (or other functions) tothe combination value to obtained two hash values, and combining the twohash values (e.g., by concatenating them) to produce the security value.In some embodiments, the serial number access program (executed by theremovable non-volatile memory device) returns the security value to thehost system in response to a request that includes a file identifier.Access to the content of the file by the host system is enabled by acontent access program (e.g., content access module 260, or multimediaplayer 250) only if the security value returned by the removablenon-volatile memory device to the host system matches the security value65 in the file's header 205 (FIG. 2).

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the invention and its practical applications, to therebyenable others skilled in the art to best utilize the invention andvarious embodiments with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. A removable non-volatile memory device,comprising: an interface for removably coupling the removablenon-volatile memory device to a host electronic system; non-volatilememory for storing data, including a multimedia content file; a serialnumber durably stored in the removable non-volatile memory device; amemory controller; a plurality of programs configured for execution bythe memory controller, including: a serial number access program forexecution by the memory controller, for accessing the stored serialnumber and providing the serial number to the host electronic system,and a trigger function for execution by the memory controller,responsive to a predefined sequence of multiple data access commandsreceived from the host electronic system to cause the memory controllerto activate the serial number access program, wherein the triggerfunction is stored in the memory controller, wherein upon receipt, thepredefined sequence is stored in the removable, non-volatile memorydevice; and a content access program, for execution by the hostelectronic system for the host electronic system to access a predefinedtarget file stored within the non-volatile memory device, the contentaccess program including: first instructions for the host electronicsystem to read the serial number accessed by the serial number accessprogram from the removable non-volatile memory device by sending to theremovable non-volatile memory device the predefined sequence of multipledata access commands.
 2. The removable non-volatile memory device ofclaim 1, further including: a file directory stored in the non-volatilememory, the file directory including an entry specifying a predefinedstorage location for the predefined target file stored within thenonvolatile memory, wherein the predefined sequence of multiple dataaccess commands comprises a sequence of data access commands stored bythe memory controller and that access the predefined target file, andwherein the predefined sequence of multiple data access commandsreceived by the non-volatile memory device from the host electronicsystem to access the predefined target file is interpreted by thetrigger function for execution by the memory controller as a request bythe host electronic system to read the stored serial number accessed bythe serial number access program from an output register of thenon-volatile memory device.
 3. The removable non-volatile memory deviceof claim 1, wherein the predefined sequence of multiple data accesscommands corresponds to a predefined sequence of multiple file accesscommands executed at the host electronic system.
 4. The removablenon-volatile memory device of claim 1, wherein the serial number isunique to the removable non-volatile memory device.
 5. The removablenon-volatile memory device of claim 4, the content access programincluding: second instructions for accessing multimedia content of themultimedia content file stored on the removable non-volatile memorydevice only when the serial number read from the removable non-volatilememory device matches a serial number associated with the multimediacontent file.
 6. The removable non-volatile memory device of claim 5,wherein the serial number associated with the multimedia content file isstored in a file header of the multimedia content file.
 7. The removablenon-volatile memory device of claim 1, wherein the plurality of programsconfigured for execution by the memory controller includes a program foraccessing and conveying the multimedia content file to the hostelectronic system.
 8. The removable non-volatile memory device of claim1, wherein the plurality of programs configured for execution by thememory controller includes a program for accessing and conveying to thehost electronic system specified portions of data stored in thenon-volatile memory.
 9. A method of enabling access by a host electronicsystem to a multimedia content file stored on non-volatile memory of aremovable non-volatile memory device, the method comprising: at theremovable non-volatile memory device: receiving a predefined sequence ofmultiple data access commands from the host electronic system, whereinthe predefined sequence is stored in the removable, non-volatile memorydevice; and responsive to the predefined sequence of multiple dataaccess commands, a serial number access program of the removablenon-volatile memory device reading a stored serial number and providingthe read serial number to the host electronic system, wherein: theserial number is durably stored in the removable non-volatile memorydevice, and the host electronic system is configured to accessmultimedia content of the multimedia content file only when the providedserial number accessed by the serial number access program of theremovable non-volatile memory device matches a serial number associatedwith the multimedia content file.
 10. The method of claim 9, furthercomprising: storing, in the non-volatile memory, a file directory thatincludes an entry specifying a predefined storage location for apredefined target file, the predefined target file stored withinnon-volatile memory, wherein the predefined sequence of multiple dataaccess commands comprises a sequence of data access commands that arestored by the memory controller and that allow the host electronicsystem to access the predefined target file within the non-volatilememory device; and interpreting a sequence of illegal parameters thatare part of the predefined sequence of multiple data access commands toaccess the predefined target file as a request by the host electronicsystem to read the stored serial number.
 11. The method of claim 9,wherein the serial number is unique to the removable non-volatile memorydevice.
 12. The method of claim 11, further comprising: storing theserial number associated with the multimedia content file in a fileheader of the multimedia content file.
 13. The method of claim 9,wherein the predefined sequence of multiple data access commandsreceived at the removable non-volatile memory device corresponds to apredefined sequence of multiple file access commands executed at thehost electronic system; and further comprising a trigger function forexecution by the removable non-volatile memory device, responsive to thepredefined sequence of multiple data access commands received from thehost electronic system to cause the removable non-volatile memory deviceto activate the serial number access program, wherein the triggerfunction is stored in the removable non-volatile memory device.
 14. Themethod of claim 9, further comprising: accessing and conveying themultimedia content file to the host electronic system.
 15. The method ofclaim 9, further comprising: accessing and conveying to the hostelectronic system specified portions of data stored in the non-volatilememory.
 16. A method of accessing multimedia content of a multimediacontent file stored on non-volatile memory of a removable non-volatilememory device, the method comprising: at a host electronic device havingone or more processors, executing a predefined sequence of multiple fileaccess commands, wherein the predefined sequence is stored in theremovable, non-volatile memory device; in accordance with the executedpredefined sequence of multiple file access commands sending to theremovable non-volatile memory device a corresponding sequence of dataaccess commands; after sending a last data access command of thesequence of multiple data access commands, receiving from a serialnumber access program for execution by the removable non-volatile memorydevice, a first serial number that is durably stored in the removablenon-volatile memory device; and accessing at the host electronic device,the multimedia content of the multimedia content file stored in theremovable non-volatile memory device only when the received first serialnumber accessed by the serial number access program from the removablenon-volatile memory device matches a second serial number associatedwith the multimedia content file.
 17. The method of claim 16, whereinthe predefined sequence of multiple file access commands are commandsstored by the memory controller to access a predefined target filestored on the removable non-volatile memory device, and wherein thesequence of multiple data access commands sent to the removablenon-volatile memory device are stored by the memory controller and isinterpreted by the removable nonvolatile memory device as a request bythe host electronic device to read the first serial number accessed bythe serial number access program from the removable non-volatile memorydevice.
 18. The method of claim 17, further comprises: accessing a filedirectory stored on the removable non-volatile memory device, the filedirectory including an entry for the predefined target file thatspecifies a storage location for the predefined target file that is apredefined storage location for the host electronic device to access thepredefined target file stored within the removable non-volatile memorydevice, wherein the sequence of multiple data access commands comprisecommands to access the predefined storage location.
 19. The method ofclaim 16, wherein the serial number is unique to the removablenon-volatile memory device.
 20. The method of claim 19, wherein thesecond serial number associated with the multimedia content file isincluded in a file header of the multimedia content file.
 21. The methodof claim 16, further comprising: receiving the multimedia content filefrom the removable non-volatile memory device.
 22. The method of claim16, further comprising: receiving specified portions of data stored inthe non-volatile memory of the removable non-volatile memory device. 23.The removable non-volatile memory device of claim 1, wherein at leasttwo commands in the predefined sequence of multiple data access commandscontains at least one illegal parameter.
 24. The removable non-volatilememory device of claim 1, wherein the plurality of programs configuredfor execution by the memory controller includes a program for accessingand conveying the multimedia content file to the host electronic systemonly when the serial number read from the removable non-volatile memorydevice matches a serial number associated with the multimedia contentfile.
 25. The removable non-volatile memory device of claim 1, whereinthe trigger function is stored in a memory of the memory controller. 26.The method of claim 9, further comprising a trigger function stored in amemory controller of the removable non-volatile memory device, whereinupon receiving the predefined sequence of multiple data access commands,the trigger function causes the reading of the stored serial number.